Repository navigation
fix: keep $ on nested variables in "${...}" interpolation - #2520
Merged
Merged
Conversation
Printing `"${foo[$index_var]}"` swallowed the dollar sign of the nested
variable, producing `"${foo[index_var]}"` and silently changing semantics
(the variable becomes a bare constant). The `variable` printer dropped `$`
for any variable whose parent was an offsetlookup under a curly-simple
encapsedpart, but only the base variable of the lookup (which directly
follows the `${` emitted by the encapsedpart printer) may lose its `$`;
a variable in the offset position is nested and keeps its own `$`.
Closes prettier#2177
Collaborator
|
Released in |
renovate Bot
added a commit
to u3u/prettier-config
that referenced
this pull request
Oct 21, 2026
> [!NOTE]
> This PR body was truncated due to platform limits.
This PR contains the following updates:
| Package | Change |
[Age](https://docs.renovatebot.com/merge-confidence/) |
[Confidence](https://docs.renovatebot.com/merge-confidence/) | Type |
Update |
|---|---|---|---|---|---|
|
[@prettier/plugin-php](https://redirect.github.com/prettier/prettier-php)
| [`^0.25.0` →
`^0.26.0`](https://renovatebot.com/diffs/npm/@prettier%2fplugin-php/0.25.0/0.26.0)
|

|

| dependencies | minor |
|
[@shufo/prettier-plugin-blade](https://redirect.github.com/shufo/prettier-plugin-blade)
| [`^1.16.2` →
`^1.16.3`](https://renovatebot.com/diffs/npm/@shufo%2fprettier-plugin-blade/1.16.2/1.16.3)
|

|

| dependencies | patch |
|
[@types/node](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node)
([source](https://redirect.github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node))
| [`^24.19.1` →
`^24.19.2`](https://renovatebot.com/diffs/npm/@types%2fnode/24.19.1/24.19.2)
|

|

| devDependencies | patch |
| [execa](https://redirect.github.com/sindresorhus/execa) | [`^10.1.0` →
`^10.2.0`](https://renovatebot.com/diffs/npm/execa/10.1.0/10.2.0) |

|

| devDependencies | minor |
| [node](https://nodejs.org)
([source](https://redirect.github.com/nodejs/node)) | `24.21.0` →
`24.22.1` |

|

| | minor |
| [node](https://redirect.github.com/actions/node-versions) | `24.21.0`
→ `24.22.1` |

|

| uses-with | minor |
| [pnpm](https://pnpm.io)
([source](https://redirect.github.com/pnpm/pnpm/tree/HEAD/pnpm/npm/pnpm))
| [`11.28.5` →
`11.28.7`](https://renovatebot.com/diffs/npm/pnpm/11.28.5/11.28.7) |

|

| packageManager | patch |
| [prettier](https://prettier.io)
([source](https://redirect.github.com/prettier/prettier)) | [`^3.9.9` →
`^3.9.10`](https://renovatebot.com/diffs/npm/prettier/3.9.9/3.9.10) |

|

| devDependencies | patch |
| [remeda](https://remedajs.com/)
([source](https://redirect.github.com/remeda/remeda)) | [`^2.51.0` →
`^2.53.0`](https://renovatebot.com/diffs/npm/remeda/2.51.0/2.53.0) |

|

| dependencies | minor |
| [vitest](https://vitest.dev)
([source](https://redirect.github.com/vitest-dev/vitest/tree/HEAD/packages/vitest))
| [`^4.1.11` →
`^4.1.12`](https://renovatebot.com/diffs/npm/vitest/4.1.11/4.1.12) |

|

| devDependencies | patch |
---
### Release Notes
<details>
<summary>prettier/prettier-php (@​prettier/plugin-php)</summary>
###
[`v0.26.0`](https://redirect.github.com/prettier/plugin-php/releases/tag/v0.26.0)
[Compare
Source](https://redirect.github.com/prettier/prettier-php/compare/v0.25.0...v0.26.0)
#### Features
- feat: print PHP 8.4 property hooks (and abstract/final/private(set)
properties) by [@​mreiden](https://redirect.github.com/mreiden) in
[prettier/plugin-php#2516](https://redirect.github.com/prettier/plugin-php/pull/2516)
- feat: lay out long attributes as PER-CS 12.3 describes by
[@​mreiden](https://redirect.github.com/mreiden) in
[prettier/plugin-php#2518](https://redirect.github.com/prettier/plugin-php/pull/2518)
#### Fixes
- Update php-parser, fix unary snapshot tests, and make multiple fixes
for attribute formatting. by
[@​acharron-hl](https://redirect.github.com/acharron-hl) in
[prettier/plugin-php#2502](https://redirect.github.com/prettier/plugin-php/pull/2502)
- fix: keep parens around nested ternary in ?: by
[@​Dextheking1](https://redirect.github.com/Dextheking1) in
[prettier/plugin-php#2519](https://redirect.github.com/prettier/plugin-php/pull/2519)
- fix: keep $ on nested variables in "${...}" interpolation by
[@​Dextheking1](https://redirect.github.com/Dextheking1) in
[prettier/plugin-php#2520](https://redirect.github.com/prettier/plugin-php/pull/2520)
- fix: comments inside the body of an attributed function crash or move
by [@​mreiden](https://redirect.github.com/mreiden) in
[prettier/plugin-php#2517](https://redirect.github.com/prettier/plugin-php/pull/2517)
- fix: print PHP 8.5 clone with (clone($obj, \[...])) by
[@​mreiden](https://redirect.github.com/mreiden) in
[prettier/plugin-php#2531](https://redirect.github.com/prettier/plugin-php/pull/2531)
**Full Changelog**:
<https://github.com/prettier/plugin-php/compare/v0.25.0...v0.26.0>
</details>
<details>
<summary>shufo/prettier-plugin-blade
(@​shufo/prettier-plugin-blade)</summary>
###
[`v1.16.3`](https://redirect.github.com/shufo/prettier-plugin-blade/blob/HEAD/CHANGELOG.md#1163-2026-10-20)
[Compare
Source](https://redirect.github.com/shufo/prettier-plugin-blade/compare/v1.16.2...v1.16.3)
##### Fixes
- **deps:** update dependency prettier to v3.9.10
([916779e](https://redirect.github.com/shufo/prettier-plugin-blade/commit/916779ea1a85d5c4cce3b1fda6b5c768b8c38f7d))
##### Miscellaneous
- 🤖 bump blade-formatter to 1.44.5
([a158396](https://redirect.github.com/shufo/prettier-plugin-blade/commit/a15839640718b7463a3ce3442159997afc4d48d3))
- 🤖 bump blade-formatter to 1.44.6
([13bd662](https://redirect.github.com/shufo/prettier-plugin-blade/commit/13bd662e62d1f68b5e46edabddea9eb5f3e8f2ef))
- 🤖 migrate from yarn to npm
([3b275d3](https://redirect.github.com/shufo/prettier-plugin-blade/commit/3b275d3327e89d9644d18200c44a4f90aa13ace8))
- **deps:** update actions/cache action to v6
([002da7d](https://redirect.github.com/shufo/prettier-plugin-blade/commit/002da7d60a12a744c37312a4fa51851fac57d089))
- **deps:** update actions/checkout action to v7
([164207d](https://redirect.github.com/shufo/prettier-plugin-blade/commit/164207d7eaa51085c494fd8e1aa54581c7518206))
- **deps:** update actions/setup-node action to v7
([381e128](https://redirect.github.com/shufo/prettier-plugin-blade/commit/381e12812798b0d154bad050d5c541115d232d09))
- **deps:** update dependency vitest to v4.1.11 \[security]
([04dcd1a](https://redirect.github.com/shufo/prettier-plugin-blade/commit/04dcd1abcba9b742fae5d423221585e61121918f))
</details>
<details>
<summary>sindresorhus/execa (execa)</summary>
###
[`v10.2.0`](https://redirect.github.com/sindresorhus/execa/releases/tag/v10.2.0)
[Compare
Source](https://redirect.github.com/sindresorhus/execa/compare/v10.1.1...v10.2.0)
##### Behavior changes
These are bug fixes, but they might affect code that relied on the
previous incorrect behavior.
- Exceeding [`maxBuffer`](docs/api.md#optionsmaxbuffer) now terminates
the subprocess with [`killSignal`](docs/api.md#optionskillsignal),
instead of leaving it running and the promise pending
[`f6de9be`](https://redirect.github.com/sindresorhus/execa/commit/f6de9be)
- `maxBuffer: 0` now limits the output of synchronous methods, like
asynchronous methods
[`224dd20`](https://redirect.github.com/sindresorhus/execa/commit/224dd20)
- Options of `$` set to `undefined` now use `$`'s defaults, such as
inheriting `stdin`
[`f61a6e9`](https://redirect.github.com/sindresorhus/execa/commit/f61a6e9)
##### Fixes
- Fix invalid file descriptor objects, such as closed file handles,
crashing the current process instead of throwing
[`d0a5968`](https://redirect.github.com/sindresorhus/execa/commit/d0a5968)
- Fix synchronous transforms: errors being hidden, filtered output being
returned on failure, mixed text and byte chunks being reordered, and
`final()` being skipped without input
[`0ba2b6e`](https://redirect.github.com/sindresorhus/execa/commit/0ba2b6e)
[`ed80079`](https://redirect.github.com/sindresorhus/execa/commit/ed80079)
[`9c54833`](https://redirect.github.com/sindresorhus/execa/commit/9c54833)
- Fix `result.all` changing objects when only `stdout` or `stderr` is
buffered
[`8629132`](https://redirect.github.com/sindresorhus/execa/commit/8629132)
- Fix writing objects to a web `WritableStream`
[`5ea2900`](https://redirect.github.com/sindresorhus/execa/commit/5ea2900)
- Fix an invalid `subprocess.duplex()` option making later stream
conversions hang
[`5e4345b`](https://redirect.github.com/sindresorhus/execa/commit/5e4345b)
- Fix `execaNode()` not running its file when the current process uses
`--print`
[`e747872`](https://redirect.github.com/sindresorhus/execa/commit/e747872)
##### Types
- Fix result and subprocess types when the options are a union,
including IPC
[`f5772f3`](https://redirect.github.com/sindresorhus/execa/commit/f5772f3)
[`355d917`](https://redirect.github.com/sindresorhus/execa/commit/355d917)
[`cb8aaf6`](https://redirect.github.com/sindresorhus/execa/commit/cb8aaf6)
- Fix result types when options bound with `execa(options)` are
overridden or reset with `undefined`
[`708fed7`](https://redirect.github.com/sindresorhus/execa/commit/708fed7)
- Fix `subprocess.stdin` types with the `input` and `inputFile` options
[`236c831`](https://redirect.github.com/sindresorhus/execa/commit/236c831)
- Fix chunk types of `subprocess.iterable()` with object-mode transforms
[`a2912e5`](https://redirect.github.com/sindresorhus/execa/commit/a2912e5)
- Fix fd-specific option types, and `execaNode()` types with `node:
undefined`
[`80b01e9`](https://redirect.github.com/sindresorhus/execa/commit/80b01e9)
[`523cf9b`](https://redirect.github.com/sindresorhus/execa/commit/523cf9b)
***
###
[`v10.1.1`](https://redirect.github.com/sindresorhus/execa/releases/tag/v10.1.1)
[Compare
Source](https://redirect.github.com/sindresorhus/execa/compare/v10.1.0...v10.1.1)
- Fix `execaNode()` and the `node` option missing IPC in their types
[`2633abb`](https://redirect.github.com/sindresorhus/execa/commit/2633abb)
- Fix `escapedCommand` and `verbose` quoting arguments when using the
`shell` option
[`b2c3a54`](https://redirect.github.com/sindresorhus/execa/commit/b2c3a54)
- Fix wrong-typed options and arguments being silently ignored or
coerced
[`b57d643`](https://redirect.github.com/sindresorhus/execa/commit/b57d643)
- Fix the `verbose` option printing colors when `stderr` is not a
terminal
[`a2eda67`](https://redirect.github.com/sindresorhus/execa/commit/a2eda67)
- Fix `stdin` iterables and input transforms edge cases
[`6925cc3`](https://redirect.github.com/sindresorhus/execa/commit/6925cc3)
- Fix IPC edge cases
[`5f80cde`](https://redirect.github.com/sindresorhus/execa/commit/5f80cde)
- Fix `.pipe()` and stream conversion edge cases
[`d3ec10d`](https://redirect.github.com/sindresorhus/execa/commit/d3ec10d)
- Fix template strings, `parseCommandString()` and `execaNode()` edge
cases
[`fb92da1`](https://redirect.github.com/sindresorhus/execa/commit/fb92da1)
- Fix invalid `timeout` and `forceKillAfterDelay` values
[`d9a5689`](https://redirect.github.com/sindresorhus/execa/commit/d9a5689)
- Fix errors, early errors and `result.all` edge cases
[`c4262ff`](https://redirect.github.com/sindresorhus/execa/commit/c4262ff)
***
</details>
<details>
<summary>nodejs/node (node)</summary>
###
[`v24.22.1`](https://redirect.github.com/nodejs/node/releases/tag/v24.22.1):
2026-10-21, Version 24.22.1 'Krypton' (LTS), @​aduh95
[Compare
Source](https://redirect.github.com/nodejs/node/compare/v24.22.0...v24.22.1)
This is a security release.
##### Notable Changes
- (CVE-2026-105481) http: ensure agent data guard works without I/O
(James M Snell)
- (CVE-2026-105482) dns: validate resolve inputs for null bytes (James M
Snell)
- (CVE-2026-105483) tls: fix ip normalization regression (James M Snell)
- (CVE-2026-106069) tls: reject non-canonical IP addresses (Matteo
Collina)
- (CVE-2026-106073) permission: check permission model in realpathSync
(RafaelGSS)
- (CVE-2026-106074) crypto: reset random caches across snapshots (Filip
Skokan)
- (CVE-2026-111497) src: expose
`BROTLI_DECODER_ERROR_FORMAT_BLOCK_SWITCH` (Antoine du Hamel)
- (CVE-2026-111497) deps: brotli: cherry-pick
[`0ed4268`](https://redirect.github.com/nodejs/node/commit/0ed4268a4401abcb44720963)
(Evgenii Kliuchnikov)
- crypto: update root certificates to NSS 3.131.1 (Antoine du Hamel)
- deps: update c-ares to 1.34.9 (Node.js GitHub Bot)
- deps: update timezone to 2026e (Node.js GitHub Bot)
- deps: upgrade openssl sources to openssl-3.5.9 (Node.js GitHub Bot)
- deps: update undici to 7.30.1 (Node.js GitHub Bot)
##### Commits
-
\[[`2a73ee5a89`](https://redirect.github.com/nodejs/node/commit/2a73ee5a89)]
- **crypto**: update root certificates to NSS 3.131.1 (Antoine du Hamel)
[#​66877](https://redirect.github.com/nodejs/node/pull/66877)
-
\[[`4d6990b33c`](https://redirect.github.com/nodejs/node/commit/4d6990b33c)]
- **crypto**: reset random caches across snapshots (Filip Skokan)
[nodejs-private/node-private#987](https://redirect.github.com/nodejs-private/node-private/pull/987)
-
\[[`4b3c9bbf9f`](https://redirect.github.com/nodejs/node/commit/4b3c9bbf9f)]
- **crypto**: harden X.509 conversion and formatting (Filip Skokan)
[nodejs-private/node-private#1007](https://redirect.github.com/nodejs-private/node-private/pull/1007)
-
\[[`9243b105b6`](https://redirect.github.com/nodejs/node/commit/9243b105b6)]
- **crypto**: update root certificates to NSS 3.129 (Node.js GitHub Bot)
[#​66496](https://redirect.github.com/nodejs/node/pull/66496)
-
\[[`1e39cd53c7`](https://redirect.github.com/nodejs/node/commit/1e39cd53c7)]
- **deps**: update c-ares to 1.34.9 (Node.js GitHub Bot)
[#​66868](https://redirect.github.com/nodejs/node/pull/66868)
-
\[[`49dff6f57a`](https://redirect.github.com/nodejs/node/commit/49dff6f57a)]
- **deps**: brotli: cherry-pick
[`0ed4268`](https://redirect.github.com/nodejs/node/commit/0ed4268a4401abcb44720963)
(Evgenii Kliuchnikov)
[nodejs-private/node-private#1002](https://redirect.github.com/nodejs-private/node-private/pull/1002)
-
\[[`fca511adc5`](https://redirect.github.com/nodejs/node/commit/fca511adc5)]
- **deps**: V8: backport
[`93cd21e`](https://redirect.github.com/nodejs/node/commit/93cd21e8254b)
(Joyee Cheung)
[nodejs-private/node-private#1008](https://redirect.github.com/nodejs-private/node-private/pull/1008)
-
\[[`18711c7567`](https://redirect.github.com/nodejs/node/commit/18711c7567)]
- **deps**: update timezone to 2026e (Node.js GitHub Bot)
[#​66419](https://redirect.github.com/nodejs/node/pull/66419)
-
\[[`fa77cfb1ad`](https://redirect.github.com/nodejs/node/commit/fa77cfb1ad)]
- **deps**: update timezone to 2026d (Node.js GitHub Bot)
[#​66333](https://redirect.github.com/nodejs/node/pull/66333)
-
\[[`b84f9f186b`](https://redirect.github.com/nodejs/node/commit/b84f9f186b)]
- **deps**: update archs files for openssl-3.5.9 (Node.js GitHub Bot)
[#​66396](https://redirect.github.com/nodejs/node/pull/66396)
-
\[[`ff0664c3ba`](https://redirect.github.com/nodejs/node/commit/ff0664c3ba)]
- **deps**: upgrade openssl sources to openssl-3.5.9 (Node.js GitHub
Bot) [#​66396](https://redirect.github.com/nodejs/node/pull/66396)
-
\[[`1d4c89ef87`](https://redirect.github.com/nodejs/node/commit/1d4c89ef87)]
- **deps**: update undici to 7.30.1 (Node.js GitHub Bot)
[#​66764](https://redirect.github.com/nodejs/node/pull/66764)
-
\[[`843a1627dc`](https://redirect.github.com/nodejs/node/commit/843a1627dc)]
- **dns**: validate resolve inputs for null bytes (James M Snell)
[nodejs-private/node-private#984](https://redirect.github.com/nodejs-private/node-private/pull/984)
-
\[[`96c3ccb1fc`](https://redirect.github.com/nodejs/node/commit/96c3ccb1fc)]
- **http**: ensure agent data guard works without I/O (James M Snell)
[nodejs-private/node-private#983](https://redirect.github.com/nodejs-private/node-private/pull/983)
-
\[[`8dc18a6218`](https://redirect.github.com/nodejs/node/commit/8dc18a6218)]
- **permission**: check permission model in realpathSync (RafaelGSS)
[nodejs-private/node-private#973](https://redirect.github.com/nodejs-private/node-private/pull/973)
-
\[[`b5f41529df`](https://redirect.github.com/nodejs/node/commit/b5f41529df)]
- **src**: expose `BROTLI_DECODER_ERROR_FORMAT_BLOCK_SWITCH` (Antoine du
Hamel)
[nodejs-private/node-private#1002](https://redirect.github.com/nodejs-private/node-private/pull/1002)
-
\[[`01acf0ee74`](https://redirect.github.com/nodejs/node/commit/01acf0ee74)]
- **tls**: reject chains containing blocked public keys (Ulises Gascón)
[#​66871](https://redirect.github.com/nodejs/node/pull/66871)
-
\[[`935918e342`](https://redirect.github.com/nodejs/node/commit/935918e342)]
- **tls**: reject non-canonical IP addresses (Matteo Collina)
[nodejs-private/node-private#982](https://redirect.github.com/nodejs-private/node-private/pull/982)
-
\[[`de49c913f2`](https://redirect.github.com/nodejs/node/commit/de49c913f2)]
- **tls**: fix ip normalization regression (James M Snell)
[nodejs-private/node-private#985](https://redirect.github.com/nodejs-private/node-private/pull/985)
-
\[[`9dc4bb57f0`](https://redirect.github.com/nodejs/node/commit/9dc4bb57f0)]
- **tools**: retry Gatekeeper check and stapling after notarization
(Ryan Aslett)
[#​66855](https://redirect.github.com/nodejs/node/pull/66855)
###
[`v24.22.0`](https://redirect.github.com/nodejs/node/releases/tag/v24.22.0):
2026-10-14, Version 24.22.0 'Krypton' (LTS), @​richardlau prepared
by @​aduh95
[Compare
Source](https://redirect.github.com/nodejs/node/compare/v24.21.0...v24.22.0)
##### Notable Changes
-
\[[`ddbf974b47`](https://redirect.github.com/nodejs/node/commit/ddbf974b47)]
- **(SEMVER-MINOR)** **crypto**: add `crypto.parsePKCS12()` (Brian
Muenzenmeyer)
[#​65627](https://redirect.github.com/nodejs/node/pull/65627)
-
\[[`c162c68ff0`](https://redirect.github.com/nodejs/node/commit/c162c68ff0)]
- **(SEMVER-MINOR)** **crypto**: add a generic MAC API (Filip Skokan)
[#​65553](https://redirect.github.com/nodejs/node/pull/65553)
-
\[[`a4ab3d84d7`](https://redirect.github.com/nodejs/node/commit/a4ab3d84d7)]
- **(SEMVER-MINOR)** **crypto**: discover ciphers from OpenSSL providers
(Filip Skokan)
[#​65484](https://redirect.github.com/nodejs/node/pull/65484)
-
\[[`c2f1e829ea`](https://redirect.github.com/nodejs/node/commit/c2f1e829ea)]
- **(SEMVER-MINOR)** **crypto**: discover hashes from OpenSSL providers
(Filip Skokan)
[#​65484](https://redirect.github.com/nodejs/node/pull/65484)
-
\[[`51aad5a80d`](https://redirect.github.com/nodejs/node/commit/51aad5a80d)]
- **(SEMVER-MINOR)** **crypto**: enable SIV and GCM-SIV modes in
Cipher/Decipher APIs (Filip Skokan)
[#​63411](https://redirect.github.com/nodejs/node/pull/63411)
-
\[[`d11c65d2f2`](https://redirect.github.com/nodejs/node/commit/d11c65d2f2)]
- **doc**: add araujogui to collaborators (Guilherme Araújo)
[#​66090](https://redirect.github.com/nodejs/node/pull/66090)
-
\[[`acc1578179`](https://redirect.github.com/nodejs/node/commit/acc1578179)]
- **doc**: deprecate `Server.prototype._listen2` in `node:net` (Antoine
du Hamel)
[#​65593](https://redirect.github.com/nodejs/node/pull/65593)
-
\[[`a7f8de6362`](https://redirect.github.com/nodejs/node/commit/a7f8de6362)]
- **(SEMVER-MINOR)** **net**: support sending `net.BoundSocket` to
threads and child processes (Guy Bedford)
[#​64725](https://redirect.github.com/nodejs/node/pull/64725)
-
\[[`60c3eb61bd`](https://redirect.github.com/nodejs/node/commit/60c3eb61bd)]
- **(SEMVER-MINOR)** **perf_hooks**: implement `SlidingWindowHistogram`
(James M Snell)
[#​65825](https://redirect.github.com/nodejs/node/pull/65825)
-
\[[`6b3e6f9d5c`](https://redirect.github.com/nodejs/node/commit/6b3e6f9d5c)]
- **(SEMVER-MINOR)** **perf_hooks**: implement qrde analysis support in
Histogram (James M Snell)
[#​65806](https://redirect.github.com/nodejs/node/pull/65806)
-
\[[`75456a3512`](https://redirect.github.com/nodejs/node/commit/75456a3512)]
- **(SEMVER-MINOR)** **perf_hooks**: implement Histogram `meanCI` API
(James M Snell)
[#​65606](https://redirect.github.com/nodejs/node/pull/65606)
-
\[[`72d1b40c56`](https://redirect.github.com/nodejs/node/commit/72d1b40c56)]
- **(SEMVER-MINOR)** **perf_hooks**: add CBOR export/import for
histogram exchange (James M Snell)
[#​65434](https://redirect.github.com/nodejs/node/pull/65434)
-
\[[`41161dda87`](https://redirect.github.com/nodejs/node/commit/41161dda87)]
- **(SEMVER-MINOR)** **sqlite**: add `StatementSync.prototype.close()`
(Guilherme Araújo)
[#​64232](https://redirect.github.com/nodejs/node/pull/64232)
-
\[[`adbc757d70`](https://redirect.github.com/nodejs/node/commit/adbc757d70)]
- **(SEMVER-MINOR)** **sqlite**: add
`StatementSync.prototype[Symbol.dispose]()` (Guilherme Araújo)
[#​64232](https://redirect.github.com/nodejs/node/pull/64232)
-
\[[`241339f072`](https://redirect.github.com/nodejs/node/commit/241339f072)]
- **(SEMVER-MINOR)** **src,lib**: add `util.markPromiseAsHandled` (James
M Snell)
[#​65805](https://redirect.github.com/nodejs/node/pull/65805)
-
\[[`63b0974d9e`](https://redirect.github.com/nodejs/node/commit/63b0974d9e)]
- **(SEMVER-MINOR)** **util**: implement `util.throttle` (James M Snell)
[#​65899](https://redirect.github.com/nodejs/node/pull/65899)
-
\[[`a3bbb5a26f`](https://redirect.github.com/nodejs/node/commit/a3bbb5a26f)]
- **(SEMVER-MINOR)** **util**: implement `debounce` (James M Snell)
[#​65899](https://redirect.github.com/nodejs/node/pull/65899)
##### Commits
-
\[[`e6832b2cb1`](https://redirect.github.com/nodejs/node/commit/e6832b2cb1)]
- **assert**: fix TypeError on deepStrictEqual with null Map key or Set
member (Sergey Sannikov)
[#​64449](https://redirect.github.com/nodejs/node/pull/64449)
-
\[[`a079177d9f`](https://redirect.github.com/nodejs/node/commit/a079177d9f)]
- **benchmark**: add --csv option to compare.js with --analyze (James M
Snell)
[#​65922](https://redirect.github.com/nodejs/node/pull/65922)
-
\[[`10b1a0f70f`](https://redirect.github.com/nodejs/node/commit/10b1a0f70f)]
- **benchmark**: fix max-regressions detection in compare.js (James M
Snell)
[#​65587](https://redirect.github.com/nodejs/node/pull/65587)
-
\[[`e0c7ba8ad5`](https://redirect.github.com/nodejs/node/commit/e0c7ba8ad5)]
- **benchmark**: add --analyze option to benchmark/scatter.js (James M
Snell)
[#​65594](https://redirect.github.com/nodejs/node/pull/65594)
-
\[[`21fed10bb0`](https://redirect.github.com/nodejs/node/commit/21fed10bb0)]
- **benchmark**: add crypto class benchmarks (Filip Skokan)
[#​65518](https://redirect.github.com/nodejs/node/pull/65518)
-
\[[`fa912242b7`](https://redirect.github.com/nodejs/node/commit/fa912242b7)]
- **buffer**: fix unaligned UTF-16LE decoding (Matteo Collina)
[#​65905](https://redirect.github.com/nodejs/node/pull/65905)
-
\[[`a6bd0c1413`](https://redirect.github.com/nodejs/node/commit/a6bd0c1413)]
- **build**: suppress OpenSSL asm warnings with clang (Richard Lau)
[#​66023](https://redirect.github.com/nodejs/node/pull/66023)
-
\[[`94e12139ee`](https://redirect.github.com/nodejs/node/commit/94e12139ee)]
- **build**: derive V8_LOGGING_LEVEL from dcheck_always_on (Joyee
Cheung)
[#​65744](https://redirect.github.com/nodejs/node/pull/65744)
-
\[[`7a2f322943`](https://redirect.github.com/nodejs/node/commit/7a2f322943)]
- **build**: fix quiet default for make builds (Shelley Vohr)
[#​65826](https://redirect.github.com/nodejs/node/pull/65826)
-
\[[`c280d650b0`](https://redirect.github.com/nodejs/node/commit/c280d650b0)]
- **build**: allow linking shared dependencies in the GN build (Shelley
Vohr)
[#​65797](https://redirect.github.com/nodejs/node/pull/65797)
-
\[[`4b23a4472c`](https://redirect.github.com/nodejs/node/commit/4b23a4472c)]
- **build**: enable the V8 sandbox in shared-cage builds (Shelley Vohr)
[#​62237](https://redirect.github.com/nodejs/node/pull/62237)
-
\[[`676e15c003`](https://redirect.github.com/nodejs/node/commit/676e15c003)]
- **build**: define V8_CONTIGUOUS_COMPRESSED_RO_SPACE for shared cage
(Shelley Vohr)
[#​65464](https://redirect.github.com/nodejs/node/pull/65464)
-
\[[`f784058482`](https://redirect.github.com/nodejs/node/commit/f784058482)]
- **build**: remove obsolete configure flags (Chengzhong Wu)
[#​65456](https://redirect.github.com/nodejs/node/pull/65456)
-
\[[`f63f37d243`](https://redirect.github.com/nodejs/node/commit/f63f37d243)]
- **build**: activate correct default flags for riscv64 (Stewart X
Addison)
[#​65708](https://redirect.github.com/nodejs/node/pull/65708)
-
\[[`da46ac075d`](https://redirect.github.com/nodejs/node/commit/da46ac075d)]
- **build**: derive NODE_ARCH from target_cpu in the GN build (Shelley
Vohr)
[#​65491](https://redirect.github.com/nodejs/node/pull/65491)
-
\[[`249e9a16dd`](https://redirect.github.com/nodejs/node/commit/249e9a16dd)]
- **build,src**: gate jspi flag on V8_ENABLE_WEBASSEMBLY (Piotr Kubaj)
[#​66082](https://redirect.github.com/nodejs/node/pull/66082)
-
\[[`146f00f64b`](https://redirect.github.com/nodejs/node/commit/146f00f64b)]
- **child_process**: clear timeout timer on spawn-time error too
(kishore280)
[#​65506](https://redirect.github.com/nodejs/node/pull/65506)
-
\[[`13987f4418`](https://redirect.github.com/nodejs/node/commit/13987f4418)]
- **crypto**: remove redundent `std::move` call (Antoine du Hamel)
[#​66111](https://redirect.github.com/nodejs/node/pull/66111)
-
\[[`ef957ac85f`](https://redirect.github.com/nodejs/node/commit/ef957ac85f)]
- **crypto**: skip private RSA parameters in key details (Filip Skokan)
[#​66108](https://redirect.github.com/nodejs/node/pull/66108)
-
\[[`8feccc5e22`](https://redirect.github.com/nodejs/node/commit/8feccc5e22)]
- **crypto**: use provider EC group names (Filip Skokan)
[#​66108](https://redirect.github.com/nodejs/node/pull/66108)
-
\[[`764e0d1120`](https://redirect.github.com/nodejs/node/commit/764e0d1120)]
- **crypto**: fetch ciphers for private-key encoding (Filip Skokan)
[#​66108](https://redirect.github.com/nodejs/node/pull/66108)
-
\[[`50ffed1979`](https://redirect.github.com/nodejs/node/commit/50ffed1979)]
- **crypto**: decode
[PKCS#1](https://redirect.github.com/PKCS/node/issues/1) keys through
providers (Filip Skokan)
[#​66108](https://redirect.github.com/nodejs/node/pull/66108)
-
\[[`56c16b2fd6`](https://redirect.github.com/nodejs/node/commit/56c16b2fd6)]
- **crypto**: derive keys through EVP_KDF (Filip Skokan)
[#​66108](https://redirect.github.com/nodejs/node/pull/66108)
-
\[[`a4effe6809`](https://redirect.github.com/nodejs/node/commit/a4effe6809)]
- **crypto**: use names for asymmetric key algorithms (Filip Skokan)
[#​65966](https://redirect.github.com/nodejs/node/pull/65966)
-
\[[`ddbf974b47`](https://redirect.github.com/nodejs/node/commit/ddbf974b47)]
- **(SEMVER-MINOR)** **crypto**: add crypto.parsePKCS12() (Brian
Muenzenmeyer)
[#​65627](https://redirect.github.com/nodejs/node/pull/65627)
-
\[[`8e631aa48f`](https://redirect.github.com/nodejs/node/commit/8e631aa48f)]
- **crypto**: add Hybrid KEMs to Web Cryptography (Filip Skokan)
[#​65759](https://redirect.github.com/nodejs/node/pull/65759)
-
\[[`5c51129e16`](https://redirect.github.com/nodejs/node/commit/5c51129e16)]
- **crypto**: optimize private EC JWK import (Filip Skokan)
[#​65908](https://redirect.github.com/nodejs/node/pull/65908)
-
\[[`c2ec40c2d7`](https://redirect.github.com/nodejs/node/commit/c2ec40c2d7)]
- **crypto**: disable non-FIPS WebCrypto paths in FIPS mode (Filip
Skokan)
[#​65172](https://redirect.github.com/nodejs/node/pull/65172)
-
\[[`e198aa0f79`](https://redirect.github.com/nodejs/node/commit/e198aa0f79)]
- **crypto**: read RSA-PSS restrictions from provider (Filip Skokan)
[#​66108](https://redirect.github.com/nodejs/node/pull/66108)
-
\[[`253784f0e9`](https://redirect.github.com/nodejs/node/commit/253784f0e9)]
- **crypto**: optimize and benchmark key preparation (Filip Skokan)
[#​65892](https://redirect.github.com/nodejs/node/pull/65892)
-
\[[`80a6ad509b`](https://redirect.github.com/nodejs/node/commit/80a6ad509b)]
- **crypto**: avoid EC reconstruction for signature sizing (Filip
Skokan)
[#​65908](https://redirect.github.com/nodejs/node/pull/65908)
-
\[[`5b592b772c`](https://redirect.github.com/nodejs/node/commit/5b592b772c)]
- **crypto**: avoid EC raw export reconstruction (Filip Skokan)
[#​65908](https://redirect.github.com/nodejs/node/pull/65908)
-
\[[`ee956ae3bf`](https://redirect.github.com/nodejs/node/commit/ee956ae3bf)]
- **crypto**: export EC JWK coordinates directly (Filip Skokan)
[#​65908](https://redirect.github.com/nodejs/node/pull/65908)
-
\[[`684008be58`](https://redirect.github.com/nodejs/node/commit/684008be58)]
- **crypto**: read EC curve metadata directly (Filip Skokan)
[#​65908](https://redirect.github.com/nodejs/node/pull/65908)
-
\[[`f4665f1c41`](https://redirect.github.com/nodejs/node/commit/f4665f1c41)]
- **crypto**: validate the limit of PBKDF2 iterations (Filip Skokan)
[#​65704](https://redirect.github.com/nodejs/node/pull/65704)
-
\[[`624abbecd7`](https://redirect.github.com/nodejs/node/commit/624abbecd7)]
- **crypto**: use primordials in HKDF info validation (Filip Skokan)
[#​65704](https://redirect.github.com/nodejs/node/pull/65704)
-
\[[`e4d916f175`](https://redirect.github.com/nodejs/node/commit/e4d916f175)]
- **crypto**: add mgf1Hash for RSA-OAEP (Adam Mcgrath)
[#​65073](https://redirect.github.com/nodejs/node/pull/65073)
-
\[[`db8a9162a8`](https://redirect.github.com/nodejs/node/commit/db8a9162a8)]
- **crypto**: fix multi-prime RSA JWKs (Filip Skokan)
[#​65649](https://redirect.github.com/nodejs/node/pull/65649)
-
\[[`022ac83504`](https://redirect.github.com/nodejs/node/commit/022ac83504)]
- **crypto**: cache valid ECDH key pairs (Filip Skokan)
[#​65615](https://redirect.github.com/nodejs/node/pull/65615)
-
\[[`c61953ebcc`](https://redirect.github.com/nodejs/node/commit/c61953ebcc)]
- **crypto**: add strict mode to --force-fips (Filip Skokan)
[#​65645](https://redirect.github.com/nodejs/node/pull/65645)
-
\[[`db6ea132a5`](https://redirect.github.com/nodejs/node/commit/db6ea132a5)]
- **crypto**: add FIPS indicator diagnostics channel (Filip Skokan)
[#​65645](https://redirect.github.com/nodejs/node/pull/65645)
-
\[[`c162c68ff0`](https://redirect.github.com/nodejs/node/commit/c162c68ff0)]
- **(SEMVER-MINOR)** **crypto**: add a generic MAC API (Filip Skokan)
[#​65553](https://redirect.github.com/nodejs/node/pull/65553)
-
\[[`2b62aafd20`](https://redirect.github.com/nodejs/node/commit/2b62aafd20)]
- **crypto**: validate JWK usages before key_ops (Filip Skokan)
[#​65550](https://redirect.github.com/nodejs/node/pull/65550)
-
\[[`ec7819db69`](https://redirect.github.com/nodejs/node/commit/ec7819db69)]
- **crypto**: fix RSA-PSS oversized salt handling (Filip Skokan)
[#​65550](https://redirect.github.com/nodejs/node/pull/65550)
-
\[[`a4ab3d84d7`](https://redirect.github.com/nodejs/node/commit/a4ab3d84d7)]
- **(SEMVER-MINOR)** **crypto**: discover ciphers from OpenSSL providers
(Filip Skokan)
[#​65484](https://redirect.github.com/nodejs/node/pull/65484)
-
\[[`c2f1e829ea`](https://redirect.github.com/nodejs/node/commit/c2f1e829ea)]
- **(SEMVER-MINOR)** **crypto**: discover hashes from OpenSSL providers
(Filip Skokan)
[#​65484](https://redirect.github.com/nodejs/node/pull/65484)
-
\[[`51aad5a80d`](https://redirect.github.com/nodejs/node/commit/51aad5a80d)]
- **(SEMVER-MINOR)** **crypto**: enable SIV and GCM-SIV modes in
Cipher/Decipher APIs (Filip Skokan)
[#​63411](https://redirect.github.com/nodejs/node/pull/63411)
-
\[[`5a46a9acbb`](https://redirect.github.com/nodejs/node/commit/5a46a9acbb)]
- **crypto**: improve SubtleCrypto.supports() accuracy (Filip Skokan)
[#​65222](https://redirect.github.com/nodejs/node/pull/65222)
-
\[[`191ebfb26c`](https://redirect.github.com/nodejs/node/commit/191ebfb26c)]
- **crypto**: fix public PKCS8 export error (한국)
[#​65609](https://redirect.github.com/nodejs/node/pull/65609)
-
\[[`b6d7ed372b`](https://redirect.github.com/nodejs/node/commit/b6d7ed372b)]
- **crypto**: fix private SPKI export error (Filip Skokan)
[#​65550](https://redirect.github.com/nodejs/node/pull/65550)
-
\[[`79509c25a4`](https://redirect.github.com/nodejs/node/commit/79509c25a4)]
- **crypto**: correct CCM decryption FIPS error message (kyungrae)
[#​65450](https://redirect.github.com/nodejs/node/pull/65450)
-
\[[`9adc87bc16`](https://redirect.github.com/nodejs/node/commit/9adc87bc16)]
- **crypto**: harden X509Certificate state (Filip Skokan)
[#​65518](https://redirect.github.com/nodejs/node/pull/65518)
-
\[[`c63aa331b4`](https://redirect.github.com/nodejs/node/commit/c63aa331b4)]
- **crypto**: optimize key slot caching (Filip Skokan)
[#​65518](https://redirect.github.com/nodejs/node/pull/65518)
-
\[[`87daea43a7`](https://redirect.github.com/nodejs/node/commit/87daea43a7)]
- **crypto**: add null checks for OPENSSL_INIT_new() (Nora Dossche)
[#​63457](https://redirect.github.com/nodejs/node/pull/63457)
-
\[[`98ca5e9358`](https://redirect.github.com/nodejs/node/commit/98ca5e9358)]
- **crypto**: prevent Hmac.digest() from returning uninitialized memory
(Matteo Collina)
[#​65112](https://redirect.github.com/nodejs/node/pull/65112)
-
\[[`0c090a28cd`](https://redirect.github.com/nodejs/node/commit/0c090a28cd)]
- **crypto**: avoid throwing CryptoKey brand checks (Filip Skokan)
[#​65503](https://redirect.github.com/nodejs/node/pull/65503)
-
\[[`a13cc3f723`](https://redirect.github.com/nodejs/node/commit/a13cc3f723)]
- **crypto**: avoid throwing KeyObject brand checks (Filip Skokan)
[#​65503](https://redirect.github.com/nodejs/node/pull/65503)
-
\[[`b8db0045ef`](https://redirect.github.com/nodejs/node/commit/b8db0045ef)]
- **deps**: V8: cherry-pick
[`ea9c016`](https://redirect.github.com/nodejs/node/commit/ea9c016f26ad)
(Gundepalli Sravani)
[#​66570](https://redirect.github.com/nodejs/node/pull/66570)
-
\[[`ba09b53487`](https://redirect.github.com/nodejs/node/commit/ba09b53487)]
- **deps**: V8: backport
[`c355350`](https://redirect.github.com/nodejs/node/commit/c3553509f460)
(Jakob Linke)
[#​66089](https://redirect.github.com/nodejs/node/pull/66089)
-
\[[`9ce8ef405b`](https://redirect.github.com/nodejs/node/commit/9ce8ef405b)]
- **deps**: V8: backport
[`8901c79`](https://redirect.github.com/nodejs/node/commit/8901c793e439)
(Toon Verwaest)
[#​66089](https://redirect.github.com/nodejs/node/pull/66089)
-
\[[`fb0d0ca289`](https://redirect.github.com/nodejs/node/commit/fb0d0ca289)]
- **deps**: V8: backport
[`0b94a9f`](https://redirect.github.com/nodejs/node/commit/0b94a9fd23ba)
(Ruan Gustavo)
[#​65753](https://redirect.github.com/nodejs/node/pull/65753)
-
\[[`2faca508c0`](https://redirect.github.com/nodejs/node/commit/2faca508c0)]
- **deps**: update googletest to
[`8eff9e3`](https://redirect.github.com/nodejs/node/commit/8eff9e336692fc95961e096564f1044c600b881d)
(Node.js GitHub Bot)
[#​66009](https://redirect.github.com/nodejs/node/pull/66009)
-
\[[`4396c9bffe`](https://redirect.github.com/nodejs/node/commit/4396c9bffe)]
- **deps**: update googletest to
[`283c175`](https://redirect.github.com/nodejs/node/commit/283c17563fe7a1111cd7f581aa5d541e8baeff2f)
(Node.js GitHub Bot)
[#​65833](https://redirect.github.com/nodejs/node/pull/65833)
-
\[[`8a5b12570c`](https://redirect.github.com/nodejs/node/commit/8a5b12570c)]
- **deps**: update simdjson to 4.6.11 (Node.js GitHub Bot)
[#​65834](https://redirect.github.com/nodejs/node/pull/65834)
-
\[[`c47feb09e8`](https://redirect.github.com/nodejs/node/commit/c47feb09e8)]
- **deps**: update zlib to 1.3.2.1-motley-285e94b (Node.js GitHub Bot)
[#​65835](https://redirect.github.com/nodejs/node/pull/65835)
-
\[[`9f0d905286`](https://redirect.github.com/nodejs/node/commit/9f0d905286)]
- **deps**: upgrade npm to 11.19.1 (npm team)
[#​65573](https://redirect.github.com/nodejs/node/pull/65573)
-
\[[`373cd332d8`](https://redirect.github.com/nodejs/node/commit/373cd332d8)]
- **deps**: update googletest to
[`36ba75f`](https://redirect.github.com/nodejs/node/commit/36ba75f0ad5383a9759f17f3f72fd4661c72cb6d)
(Node.js GitHub Bot)
[#​65654](https://redirect.github.com/nodejs/node/pull/65654)
-
\[[`aeed6132a7`](https://redirect.github.com/nodejs/node/commit/aeed6132a7)]
- **deps**: update simdjson to 4.6.9 (Node.js GitHub Bot)
[#​65655](https://redirect.github.com/nodejs/node/pull/65655)
-
\[[`2583571342`](https://redirect.github.com/nodejs/node/commit/2583571342)]
- **deps**: update zlib to 1.3.2.1-motley-5eb4d7e (Node.js GitHub Bot)
[#​65494](https://redirect.github.com/nodejs/node/pull/65494)
-
\[[`d11c65d2f2`](https://redirect.github.com/nodejs/node/commit/d11c65d2f2)]
- **doc**: add araujogui to collaborators (Guilherme Araújo)
[#​66090](https://redirect.github.com/nodejs/node/pull/66090)
-
\[[`0a4a8d602a`](https://redirect.github.com/nodejs/node/commit/0a4a8d602a)]
- **doc**: fix duplicate 'the' typo in `node_platform.cc` (Muhammad
Al-Muzahid)
[#​66058](https://redirect.github.com/nodejs/node/pull/66058)
-
\[[`b6538138ef`](https://redirect.github.com/nodejs/node/commit/b6538138ef)]
- **doc**: clarify sub-1000ms behavior in socket.setKeepAlive (Haram
Jeong)
[#​65869](https://redirect.github.com/nodejs/node/pull/65869)
-
\[[`d319fa7de4`](https://redirect.github.com/nodejs/node/commit/d319fa7de4)]
- **doc**: remove obsolete mentioning of cl.exe on windows (Chengzhong
Wu) [#​66038](https://redirect.github.com/nodejs/node/pull/66038)
-
\[[`67cb305b59`](https://redirect.github.com/nodejs/node/commit/67cb305b59)]
- **doc**: note that default signal handling resets the signal mask
(Shelley Vohr)
[#​65877](https://redirect.github.com/nodejs/node/pull/65877)
-
\[[`160d44e025`](https://redirect.github.com/nodejs/node/commit/160d44e025)]
- **doc**: clarify QUIC async write backpressure (John Finnerty)
[#​65947](https://redirect.github.com/nodejs/node/pull/65947)
-
\[[`ffd47a7ee5`](https://redirect.github.com/nodejs/node/commit/ffd47a7ee5)]
- **doc**: clarify permission model scope for output paths (Rafael
Gonzaga)
[#​66004](https://redirect.github.com/nodejs/node/pull/66004)
-
\[[`2e1772a8ab`](https://redirect.github.com/nodejs/node/commit/2e1772a8ab)]
- **doc**: fill in missing zstd docs (James M Snell)
[#​65867](https://redirect.github.com/nodejs/node/pull/65867)
-
\[[`9f88c6f8dc`](https://redirect.github.com/nodejs/node/commit/9f88c6f8dc)]
- **doc**: add inoway46 as triager (Yuya Inoue)
[#​65565](https://redirect.github.com/nodejs/node/pull/65565)
-
\[[`c2620d01f3`](https://redirect.github.com/nodejs/node/commit/c2620d01f3)]
- **doc**: document windowsHide for child_process.fork (Christopher
Buss)
[#​65887](https://redirect.github.com/nodejs/node/pull/65887)
-
\[[`6076111e1a`](https://redirect.github.com/nodejs/node/commit/6076111e1a)]
- **doc**: qualify directory read ordering for native fs (Trivikram
Kamat)
[#​65868](https://redirect.github.com/nodejs/node/pull/65868)
-
\[[`7bf048a336`](https://redirect.github.com/nodejs/node/commit/7bf048a336)]
- **doc**: add DOMException section to errors API reference (Avocado)
[#​65206](https://redirect.github.com/nodejs/node/pull/65206)
-
\[[`414b6bfa62`](https://redirect.github.com/nodejs/node/commit/414b6bfa62)]
- **doc**: expand revert commit collaborator instructions (Mike
McCready)
[#​65848](https://redirect.github.com/nodejs/node/pull/65848)
-
\[[`c8ac91692c`](https://redirect.github.com/nodejs/node/commit/c8ac91692c)]
- **doc**: note that FreeEnvironment() runs a shared event loop (Shelley
Vohr)
[#​65691](https://redirect.github.com/nodejs/node/pull/65691)
-
\[[`cc47cc0983`](https://redirect.github.com/nodejs/node/commit/cc47cc0983)]
- **doc**: clarify security triage dispositions and permission
boundaries (Rafael Gonzaga)
[#​65436](https://redirect.github.com/nodejs/node/pull/65436)
-
\[[`8b79a71e78`](https://redirect.github.com/nodejs/node/commit/8b79a71e78)]
- **doc**: fix default limit of maxHeadersCount (Aryn H)
[#​65472](https://redirect.github.com/nodejs/node/pull/65472)
-
\[[`56b1252a54`](https://redirect.github.com/nodejs/node/commit/56b1252a54)]
- **doc**: fix return types for sync methods (Chiang Fong Lee)
[#​58575](https://redirect.github.com/nodejs/node/pull/58575)
-
\[[`da0d32a333`](https://redirect.github.com/nodejs/node/commit/da0d32a333)]
- **doc**: document REPL DEP0185 throws and uncaught-exception behavior
(Adrián Estrada)
[#​64993](https://redirect.github.com/nodejs/node/pull/64993)
-
\[[`f8ab3619b6`](https://redirect.github.com/nodejs/node/commit/f8ab3619b6)]
- **doc**: document close() error when in a sqlite callback (Trivikram
Kamat)
[#​65090](https://redirect.github.com/nodejs/node/pull/65090)
-
\[[`131f1db302`](https://redirect.github.com/nodejs/node/commit/131f1db302)]
- **doc**: clarify return type of `fs.mkdtemp*` (Antoine du Hamel)
[#​65743](https://redirect.github.com/nodejs/node/pull/65743)
-
\[[`7755e98183`](https://redirect.github.com/nodejs/node/commit/7755e98183)]
- **doc**: update `changelog-maker` instructions for releasing (Juan
José)
[#​65707](https://redirect.github.com/nodejs/node/pull/65707)
-
\[[`f982a53433`](https://redirect.github.com/nodejs/node/commit/f982a53433)]
- **doc**: add stability status to `crypto.setEngine` (Antoine du Hamel)
[#​65746](https://redirect.github.com/nodejs/node/pull/65746)
-
\[[`17be003f7c`](https://redirect.github.com/nodejs/node/commit/17be003f7c)]
- **doc**: remove outdated TLS authorized warning (Tim Perry)
[#​65597](https://redirect.github.com/nodejs/node/pull/65597)
-
\[[`424002232d`](https://redirect.github.com/nodejs/node/commit/424002232d)]
- **doc**: fix stale TOC in maintaining-dependencies (greenhead)
[#​65523](https://redirect.github.com/nodejs/node/pull/65523)
-
\[[`dddb9b57a5`](https://redirect.github.com/nodejs/node/commit/dddb9b57a5)]
- **doc**: refactor the AI guidelines (Joyee Cheung)
[#​65269](https://redirect.github.com/nodejs/node/pull/65269)
-
\[[`397b58e113`](https://redirect.github.com/nodejs/node/commit/397b58e113)]
- **doc**: fix triggerAsyncId() comment in async_hooks example
(soreavis)
[#​64583](https://redirect.github.com/nodejs/node/pull/64583)
-
\[[`338ec94d83`](https://redirect.github.com/nodejs/node/commit/338ec94d83)]
- **doc**: fix fsPromises.watch overflow value (Matt Radbourne)
[#​64605](https://redirect.github.com/nodejs/node/pull/64605)
-
\[[`f18be21b14`](https://redirect.github.com/nodejs/node/commit/f18be21b14)]
- **doc**: clarify stream direction in options.stdio note (Avocado)
[#​65236](https://redirect.github.com/nodejs/node/pull/65236)
-
\[[`f07c6acd8b`](https://redirect.github.com/nodejs/node/commit/f07c6acd8b)]
- **doc**: clarify signal listener behavior (Som Samantray)
[#​65243](https://redirect.github.com/nodejs/node/pull/65243)
-
\[[`8bc17b0c7a`](https://redirect.github.com/nodejs/node/commit/8bc17b0c7a)]
- **doc**: add test reporter event lifecycle diagram (sangwook)
[#​63780](https://redirect.github.com/nodejs/node/pull/63780)
-
\[[`452e7477d4`](https://redirect.github.com/nodejs/node/commit/452e7477d4)]
- **doc**: discourage AbortSignal cleanup for long-lived resources (Efe
Karasakal)
[#​64342](https://redirect.github.com/nodejs/node/pull/64342)
-
\[[`acc1578179`](https://redirect.github.com/nodejs/node/commit/acc1578179)]
- **doc**: deprecate `Server.prototype._listen2` in `node:net` (Antoine
du Hamel)
[#​65593](https://redirect.github.com/nodejs/node/pull/65593)
-
\[[`e7ed4361d6`](https://redirect.github.com/nodejs/node/commit/e7ed4361d6)]
- **doc,test**: account for OpenSSL 4.1 behaviours (Filip Skokan)
[#​65956](https://redirect.github.com/nodejs/node/pull/65956)
-
\[[`c65fafeab4`](https://redirect.github.com/nodejs/node/commit/c65fafeab4)]
- **errors**: validate constructor name (Christian Aurich)
[#​65607](https://redirect.github.com/nodejs/node/pull/65607)
-
\[[`f6b47938b7`](https://redirect.github.com/nodejs/node/commit/f6b47938b7)]
- **events**: fix weak listener retention overwrite (Aryan)
[#​64024](https://redirect.github.com/nodejs/node/pull/64024)
-
\[[`a27db42c3e`](https://redirect.github.com/nodejs/node/commit/a27db42c3e)]
- **fs**: coerce FileHandle.read length like fs.read (Xia Chao)
[#​65521](https://redirect.github.com/nodejs/node/pull/65521)
-
\[[`f3019b522a`](https://redirect.github.com/nodejs/node/commit/f3019b522a)]
- **fs**: throw on existing dir in cpSync with errorOnExist (Daijiro
Wachi)
[#​64124](https://redirect.github.com/nodejs/node/pull/64124)
-
\[[`cd1011458f`](https://redirect.github.com/nodejs/node/commit/cd1011458f)]
- **fs**: support removing read-only files in rmSync on Windows (Sparsh
:)) [#​64453](https://redirect.github.com/nodejs/node/pull/64453)
-
\[[`d659dd8cd8`](https://redirect.github.com/nodejs/node/commit/d659dd8cd8)]
- **fs**: give directories created by cpSync the source directory's mode
(Shelley Vohr)
[#​65488](https://redirect.github.com/nodejs/node/pull/65488)
-
\[[`1dfb047293`](https://redirect.github.com/nodejs/node/commit/1dfb047293)]
- **fs**: handle recursive watch setup races (Filip Skokan)
[#​65699](https://redirect.github.com/nodejs/node/pull/65699)
-
\[[`bc431c8413`](https://redirect.github.com/nodejs/node/commit/bc431c8413)]
- **fs**: apply nocase to literal glob exclude patterns (Yusuke Hayashi)
[#​64817](https://redirect.github.com/nodejs/node/pull/64817)
-
\[[`dd5662e641`](https://redirect.github.com/nodejs/node/commit/dd5662e641)]
- **fs**: do not descend into symlinks for \*\* unless following
symlinks (RafaelGSS)
[#​65435](https://redirect.github.com/nodejs/node/pull/65435)
-
\[[`ac4cf54292`](https://redirect.github.com/nodejs/node/commit/ac4cf54292)]
- **fs**: watch directories, not files, in recursive fs.watch fallback
(Shelley Vohr)
[#​65486](https://redirect.github.com/nodejs/node/pull/65486)
-
\[[`7804bfbd71`](https://redirect.github.com/nodejs/node/commit/7804bfbd71)]
- **fs**: preserve directory timestamps in cp (Abhinandan Kumar)
[#​65540](https://redirect.github.com/nodejs/node/pull/65540)
-
\[[`ba5ca5a1a5`](https://redirect.github.com/nodejs/node/commit/ba5ca5a1a5)]
- **fs**: fix recursive watch error handling (Filip Skokan)
[#​65635](https://redirect.github.com/nodejs/node/pull/65635)
-
\[[`b71c4c0551`](https://redirect.github.com/nodejs/node/commit/b71c4c0551)]
- **fs**: fix rmSync error messages for non-ASCII paths (Yeaseen)
[#​61233](https://redirect.github.com/nodejs/node/pull/61233)
-
\[[`53b4700892`](https://redirect.github.com/nodejs/node/commit/53b4700892)]
- **http**: don't destroy socket after request completes (Barath Raj)
[#​65952](https://redirect.github.com/nodejs/node/pull/65952)
-
\[[`96d4c23f17`](https://redirect.github.com/nodejs/node/commit/96d4c23f17)]
- **http**: fast-forward teardown of unread messages (Matteo Collina)
[#​65732](https://redirect.github.com/nodejs/node/pull/65732)
-
\[[`742b4bf5a6`](https://redirect.github.com/nodejs/node/commit/742b4bf5a6)]
- **http**: coalesce chunked writes during auto-corking (GetThatCookie)
[#​64987](https://redirect.github.com/nodejs/node/pull/64987)
-
\[[`8921108175`](https://redirect.github.com/nodejs/node/commit/8921108175)]
- **http2**: settle pending write callbacks on destroy (Matteo Collina)
[#​66016](https://redirect.github.com/nodejs/node/pull/66016)
-
\[[`9a2f77a3fc`](https://redirect.github.com/nodejs/node/commit/9a2f77a3fc)]
- **http2**: fix onread assert when destroying session from stream
handler (Sankalp Thakur)
[#​65116](https://redirect.github.com/nodejs/node/pull/65116)
-
\[[`99e41eb43a`](https://redirect.github.com/nodejs/node/commit/99e41eb43a)]
- **http2**: error for incomplete reads on RST, auto-drain, deprecate
aborted (Tim Perry)
[#​63249](https://redirect.github.com/nodejs/node/pull/63249)
-
\[[`d520b9601c`](https://redirect.github.com/nodejs/node/commit/d520b9601c)]
- **http2**: fix write deadlock exposed by larger window sizes (Tim
Perry)
[#​65440](https://redirect.github.com/nodejs/node/pull/65440)
-
\[[`86b2497aae`](https://redirect.github.com/nodejs/node/commit/86b2497aae)]
- **http2**: fix async context loss when trailers carry END_STREAM
(Orgad Shaneh)
[#​63814](https://redirect.github.com/nodejs/node/pull/63814)
-
\[[`536ccc7daf`](https://redirect.github.com/nodejs/node/commit/536ccc7daf)]
- **https**: limit proxy CONNECT response headers (Matteo Collina)
[#​64545](https://redirect.github.com/nodejs/node/pull/64545)
-
\[[`fe6147832b`](https://redirect.github.com/nodejs/node/commit/fe6147832b)]
- **inspector**: fix abort when two Environments own the inspector
(Shelley Vohr)
[#​65877](https://redirect.github.com/nodejs/node/pull/65877)
-
\[[`843a27782a`](https://redirect.github.com/nodejs/node/commit/843a27782a)]
- **inspector**: fix crash when the IsolateData has no platform (Shelley
Vohr)
[#​65818](https://redirect.github.com/nodejs/node/pull/65818)
-
\[[`3f0b6d3308`](https://redirect.github.com/nodejs/node/commit/3f0b6d3308)]
- **lib**: avoid repeat internal receiver checks (Filip Skokan)
[#​65910](https://redirect.github.com/nodejs/node/pull/65910)
-
\[[`0039479b4a`](https://redirect.github.com/nodejs/node/commit/0039479b4a)]
- **lib**: fix shared buffer growability validation (Filip Skokan)
[#​65845](https://redirect.github.com/nodejs/node/pull/65845)
-
\[[`e7907130ae`](https://redirect.github.com/nodejs/node/commit/e7907130ae)]
- **lib**: use Web IDL interface brand checks (Filip Skokan)
[#​65846](https://redirect.github.com/nodejs/node/pull/65846)
-
\[[`7ae085552b`](https://redirect.github.com/nodejs/node/commit/7ae085552b)]
- **lib**: fix AbortSignal.any() abort propagation (Yuya Inoue)
[#​66014](https://redirect.github.com/nodejs/node/pull/66014)
-
\[[`01032f4fdc`](https://redirect.github.com/nodejs/node/commit/01032f4fdc)]
- **lib**: fix for FileHandle.readableWebStream (Patrick Dähne)
[#​58842](https://redirect.github.com/nodejs/node/pull/58842)
-
\[[`60a9a28206`](https://redirect.github.com/nodejs/node/commit/60a9a28206)]
- **lib**: avoid unsafe array iteration in cli table (Donghoon Kang)
[#​65838](https://redirect.github.com/nodejs/node/pull/65838)
-
\[[`230a7fcef0`](https://redirect.github.com/nodejs/node/commit/230a7fcef0)]
- **lib**: optimize internal Web IDL dictionaries (Filip Skokan)
[#​65857](https://redirect.github.com/nodejs/node/pull/65857)
-
\[[`7cc02b14ec`](https://redirect.github.com/nodejs/node/commit/7cc02b14ec)]
- **lib**: validate sequence iterator objects (Filip Skokan)
[#​65844](https://redirect.github.com/nodejs/node/pull/65844)
-
\[[`c2bb3aeccc`](https://redirect.github.com/nodejs/node/commit/c2bb3aeccc)]
- **lib**: defer source map payload decoding until first use (Shelley
Vohr)
[#​65490](https://redirect.github.com/nodejs/node/pull/65490)
-
\[[`c4b390cf17`](https://redirect.github.com/nodejs/node/commit/c4b390cf17)]
- **lib**: optimize async context frame activation (Tim Perry)
[#​65519](https://redirect.github.com/nodejs/node/pull/65519)
-
\[[`3e4fc50a4f`](https://redirect.github.com/nodejs/node/commit/3e4fc50a4f)]
- **lib**: use validateArray for array arguments (JunHwan Choi)
[#​65344](https://redirect.github.com/nodejs/node/pull/65344)
-
\[[`b351ac9cd4`](https://redirect.github.com/nodejs/node/commit/b351ac9cd4)]
- **meta**: bump step-security/harden-runner from 2.21.0 to 2.21.1
(dependabot\[bot])
[#​66044](https://redirect.github.com/nodejs/node/pull/66044)
-
\[[`693e890fec`](https://redirect.github.com/nodejs/node/commit/693e890fec)]
- **meta**: bump github/codeql-action/upload-sarif from 4.37.9 to 4.38.0
(dependabot\[bot])
[#​66046](https://redirect.github.com/nodejs/node/pull/66046)
-
\[[`9c2abc13c2`](https://redirect.github.com/nodejs/node/commit/9c2abc13c2)]
- **meta**: bump github/codeql-action/init from 4.37.9 to 4.38.0
(dependabot\[bot])
[#​66048](https://redirect.github.com/nodejs/node/pull/66048)
-
\[[`b3c5c2b91d`](https://redirect.github.com/nodejs/node/commit/b3c5c2b91d)]
- **meta**: bump github/codeql-action/analyze from 4.37.9 to 4.38.0
(dependabot\[bot])
[#​66049](https://redirect.github.com/nodejs/node/pull/66049)
-
\[[`2428b13b02`](https://redirect.github.com/nodejs/node/commit/2428b13b02)]
- **meta**: bump github/codeql-action/autobuild from 4.37.9 to 4.38.0
(dependabot\[bot])
[#​66050](https://redirect.github.com/nodejs/node/pull/66050)
-
\[[`eff5d15041`](https://redirect.github.com/nodejs/node/commit/eff5d15041)]
- **meta**: add joyeecheung as v8 currency strategic initiative champion
(Joyee Cheung)
[#​65965](https://redirect.github.com/nodejs/node/pull/65965)
-
\[[`aa549fed0d`](https://redirect.github.com/nodejs/node/commit/aa549fed0d)]
- **meta**: expand on collaborator restoration process (Chengzhong Wu)
[#​65962](https://redirect.github.com/nodejs/node/pull/65962)
-
\[[`593b40eb2b`](https://redirect.github.com/nodejs/node/commit/593b40eb2b)]
- **meta**: add web-standards as webidl owners (Filip Skokan)
[#​65856](https://redirect.github.com/nodejs/node/pull/65856)
-
\[[`e711d3fef3`](https://redirect.github.com/nodejs/node/commit/e711d3fef3)]
- **meta**: bump actions/checkout from 7.0.0 to 7.0.1 (dependabot\[bot])
[#​65718](https://redirect.github.com/nodejs/node/pull/65718)
-
\[[`0fc8a38f5b`](https://redirect.github.com/nodejs/node/commit/0fc8a38f5b)]
- **meta**: cleanup targos emeritus changes (Antoine du Hamel)
[#​65738](https://redirect.github.com/nodejs/node/pull/65738)
-
\[[`2ca2fd566d`](https://redirect.github.com/nodejs/node/commit/2ca2fd566d)]
- **meta**: bump github/codeql-action/init from 4.37.3 to 4.37.9
(dependabot\[bot])
[#​65714](https://redirect.github.com/nodejs/node/pull/65714)
-
\[[`325709818e`](https://redirect.github.com/nodejs/node/commit/325709818e)]
- **meta**: bump github/codeql-action/autobuild from 4.37.3 to 4.37.9
(dependabot\[bot])
[#​65717](https://redirect.github.com/nodejs/node/pull/65717)
-
\[[`8481d22f72`](https://redirect.github.com/nodejs/node/commit/8481d22f72)]
- **meta**: bump actions/setup-node from 6.4.0 to 7.0.0
(dependabot\[bot])
[#​65720](https://redirect.github.com/nodejs/node/pull/65720)
-
\[[`cd2bd5d9fd`](https://redirect.github.com/nodejs/node/commit/cd2bd5d9fd)]
- **meta**: bump step-security/harden-runner from 2.20.0 to 2.21.0
(dependabot\[bot])
[#​65721](https://redirect.github.com/nodejs/node/pull/65721)
-
\[[`fdec747105`](https://redirect.github.com/nodejs/node/commit/fdec747105)]
- **meta**: bump github/codeql-action/upload-sarif from 4.37.3 to 4.37.9
(dependabot\[bot])
[#​65722](https://redirect.github.com/nodejs/node/pull/65722)
-
\[[`34c2fca088`](https://redirect.github.com/nodejs/node/commit/34c2fca088)]
- **meta**: bump github/codeql-action/analyze from 4.37.3 to 4.37.9
(dependabot\[bot])
[#​65723](https://redirect.github.com/nodejs/node/pull/65723)
-
\[[`46d4549938`](https://redirect.github.com/nodejs/node/commit/46d4549938)]
- **meta**: document collaborator automation (Filip Skokan)
[#​65671](https://redirect.github.com/nodejs/node/pull/65671)
- \[[`a7f8de6362`](https://redirect.github.com/nodejs/node/commit/
> [!IMPORTANT]
> ✂ PR body was truncated to here.
</details>
---
### Configuration
📅 **Schedule**: (in timezone Asia/Shanghai)
- Branch creation
- "after 2am and before 3am"
- Automerge
- "schedule:daily"
🚦 **Automerge**: Enabled.
♻ **Rebasing**: Whenever PR is behind base branch, or you tick the
rebase/retry checkbox.
👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/u3u/prettier-config).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4xNzEuMiIsInVwZGF0ZWRJblZlciI6IjQ0LjE3MS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bug:
"${foo[$index_var]}"was printed as"${foo[index_var]}", the$of the nested offset variable was swallowed, silently changing semantics (variable becomes a bare constant).Fix: in the
variableprinter (src/printer.mjs), the$was dropped for any variable whose parent was anoffsetlookupunder a curly-simpleencapsedpart. That is only correct for the base variable of the lookup, which directly follows the${emitted by the encapsedpart printer. The condition is now restricted toparent.what === node, so a variable in the offset position keeps its$.Tests: added
"text ${foo[$index_var]} text"totests/encapsed/encapsed.php; snapshots updated withjest -u. Full suite: 101 suites / 595 tests pass, plusAST_COMPARE=1round-trip on the encapsed suite. Verified output keeps$index_varand that the pre-fix code reproduced the bug ("${foo[index_var]}").Closes #2177